import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { ApiProperty } from '@nestjs/swagger';
// @Prop 装饰器接受一个可选的参数，通过这个，你可以指示这个属性是否是必须的，是否需要默认值，或者是标记它作为一个常量，下面是例子
// SchemaFactory 是 mongoose 内置的一个方法做用是读取模式文档 并创建 Schema 对象
import { Document } from 'mongoose';
export type UsersDocument = Users & Document;
@Schema()
export class Users extends Document {
  // 设置值为必填
  @Prop({ required: true })
  @ApiProperty()
  uuid: string;

  @Prop({ required: true })
  @ApiProperty()
  username: string;

  @ApiProperty()
  headImg: string;

  @Prop({ required: true })
  @ApiProperty()
  createTime: string;

  @Prop({ required: true })
  @ApiProperty()
  updateTime: string;

  // 使用状态 -1 时为已删除或禁用状态
  @Prop({ required: true })
  @ApiProperty()
  useStatus: number;
}
export const UsersSchema = SchemaFactory.createForClass(Users);